package com.cupcorn.balapkarung;

import com.cupcorn.lib.Anchor;
import com.cupcorn.lib.Ratio;
import com.cupcorn.lib.game.element.ElementSound;
import com.cupcorn.lib.game.element.GameElementAutoParallax;
import com.cupcorn.lib.game.element.GameElementSprite;
import com.cupcorn.lib.game.element.GameElementTiledSprite;
import com.cupcorn.lib.game.element.GameElementTmx;

public interface GameDefine
{
	int							STATE_MAIN_MENU = 0;
	int							STATE_ACHIEVMENT = STATE_MAIN_MENU + 1;
	int							STATE_SHOP = STATE_ACHIEVMENT + 1;
	int							STATE_HIGHSCORE = STATE_SHOP + 1;
	int							STATE_OPTION = STATE_HIGHSCORE + 1;
	int							STATE_GAME_PLAY	= STATE_OPTION + 1;
	int							STATE_GAME_OVER	= STATE_GAME_PLAY + 1;
	int							STATE_HIGHSCORE_ONLINE = STATE_GAME_OVER + 1;
	int							STATE_ABOUT = STATE_HIGHSCORE_ONLINE + 1;
	
	int							GPS_BTN_JUMP	= 0;
	
	GameElementAutoParallax[] GAME_AUTO_PARALAX =
	{
		new GameElementAutoParallax(0, 0, 0, 0),
	};
	
	GameElementSprite[]			GAME_MENU_LOCKED	=
	{
		new GameElementSprite("gfx/game/comingsoon.png", -10, 0, 505, 430, Anchor.CENTER_RIGHT, Ratio.WIDTH, true),
	};
	
	GameElementSprite[]			GAME_MENU_HIGHSCORE_ONLINE	=
	{
			new GameElementSprite("gfx/game/online_score_bg.png", -10, 0, 505, 430, Anchor.CENTER_RIGHT, Ratio.WIDTH, true),
			new GameElementSprite("gfx/Leaderboard/header.png", 0, 0, 505, 430, Anchor.TOP_LEFT, Ratio.WIDTH, false),
			new GameElementSprite("gfx/Leaderboard/namescore.png", 0, 0, 450, 54, Anchor.TOP_LEFT, Ratio.WIDTH, false),
			new GameElementSprite("gfx/Leaderboard/namescore.png", 0, 0, 450, 54, Anchor.TOP_LEFT, Ratio.WIDTH, false),
			new GameElementSprite("gfx/Leaderboard/namescore.png", 0, 0, 450, 54, Anchor.TOP_LEFT, Ratio.WIDTH, false),
			new GameElementSprite("gfx/Leaderboard/namescore.png", 0, 0, 450, 54, Anchor.TOP_LEFT, Ratio.WIDTH, false),
			new GameElementSprite("gfx/Leaderboard/namescore.png", 0, 0, 450, 54, Anchor.TOP_LEFT, Ratio.WIDTH, false),
			new GameElementSprite("gfx/Leaderboard/myrank.png", 0, 0, 504, 53, Anchor.TOP_LEFT, Ratio.WIDTH, false),
			new GameElementSprite("gfx/Leaderboard/icon_toprank.png", 0, 0, 55, 54, Anchor.TOP_LEFT, Ratio.WIDTH, false),
			new GameElementSprite("gfx/Leaderboard/rank2.png", 0, 0, 55, 54, Anchor.TOP_LEFT, Ratio.WIDTH, false),
			new GameElementSprite("gfx/Leaderboard/rank3.png", 0, 0, 55, 54, Anchor.TOP_LEFT, Ratio.WIDTH, false),
			new GameElementSprite("gfx/game/jump.png", 0, 0, 55, 54, Anchor.TOP_LEFT, Ratio.WIDTH, false),
	};
	
	int							ONLINE_BINGKAI = 0;
	int							ONLINE_HEADER = ONLINE_BINGKAI+1;
	int							ONLINE_NAMESCORE_1 = ONLINE_HEADER + 1;
	int							ONLINE_NAMESCORE_2 = ONLINE_NAMESCORE_1 + 1;
	int							ONLINE_NAMESCORE_3 = ONLINE_NAMESCORE_2 + 1;
	int							ONLINE_NAMESCORE_4 = ONLINE_NAMESCORE_3 + 1;
	int							ONLINE_NAMESCORE_5 = ONLINE_NAMESCORE_4 + 1;
	int							ONLINE_NAMESCORE_6 = ONLINE_NAMESCORE_5 + 1;
	int							ONLINE_RANK_1 = ONLINE_NAMESCORE_6 + 1;
	int							ONLINE_RANK_2 = ONLINE_RANK_1 + 1;
	int							ONLINE_RANK_3 = ONLINE_RANK_2 + 1;
	int							ONLINE_YOURRANK = ONLINE_RANK_3 + 1;
	
	GameElementSprite[]			GAME_MENU_HIGHSCORE =
	{
			new GameElementSprite("gfx/game/bingkai.jpg", -10, 0, 505, 430, Anchor.CENTER_RIGHT, Ratio.WIDTH, true),
			new GameElementSprite("gfx/game/score-offline.png", 0, 0, 320, 150, Anchor.CENTER, Ratio.WIDTH, false),
			new GameElementSprite("gfx/game/score-online.png", 0, 0, 320, 150, Anchor.CENTER, Ratio.WIDTH, false),
			new GameElementSprite("gfx/game/go-button.png", 0, 0, 289, 65, Anchor.CENTER, Ratio.WIDTH, true),
			new GameElementSprite("gfx/game/go-button2.png", 0, 0, 289, 65, Anchor.CENTER, Ratio.WIDTH, true),
	};
	
	int							HIGH_BINGKAI_BIRU 		= 0;
	int							HIGH_OFFLINE	  		= HIGH_BINGKAI_BIRU + 1;
	int							HIGH_ONLINE				= HIGH_OFFLINE + 1;
	int							HIGH_GO_BUTTON			= HIGH_ONLINE + 1;
	int							HIGH_GO_BUTTON_PRESSED	= HIGH_GO_BUTTON + 1;
	
	GameElementSprite[]			GAME_MENU_OPTION =
	{
			new GameElementSprite("gfx/game/bingkai.jpg", -10, 0, 505, 430, Anchor.CENTER_RIGHT, Ratio.WIDTH, true),
			new GameElementSprite("gfx/game/sound.png", 0, 0, 240, 80, Anchor.CENTER, Ratio.WIDTH, true),
			new GameElementSprite("gfx/game/music.png", 0, 0, 240, 80, Anchor.CENTER, Ratio.WIDTH, true),
			new GameElementSprite("gfx/game/cek.png", 0, 0, 64, 64, Anchor.CENTER, Ratio.WIDTH, false),
			new GameElementSprite("gfx/game/cek.png", 0, 0, 64, 64, Anchor.CENTER, Ratio.WIDTH, false),
			new GameElementSprite("gfx/game/fb.png", 0, 0, 80, 80, Anchor.CENTER, Ratio.WIDTH, false),
			new GameElementSprite("gfx/game/twit.png", 0, 0, 80, 80, Anchor.CENTER, Ratio.WIDTH, false),
	};
	
	int							OPTION_BINGKAI_BIRU = 0;
	int							OPTION_SOUND	  = OPTION_BINGKAI_BIRU + 1;
	int							OPTION_MUSIC		 = OPTION_SOUND + 1;
	int							OPTION_CEK_SOUND	= OPTION_MUSIC + 1;
	int							OPTION_CEK_MUSIC	= OPTION_CEK_SOUND + 1;
	int							OPTION_FB	= OPTION_CEK_MUSIC + 1;
	int							OPTION_TWITTER = OPTION_FB + 1;
	
	GameElementSprite[]			GAME_MENU_ABOUT =
	{
			new GameElementSprite("gfx/game/bingkai.jpg", -10, 0, 505, 430, Anchor.CENTER_RIGHT, Ratio.WIDTH, true),
			new GameElementSprite("gfx/game/logo_about.png", -10, 0, 96, 96, Anchor.CENTER_RIGHT, Ratio.WIDTH, false),
			
	};
	
	int							ABOUT_BINGKAI = 0;
	int							ABOUT_LOGO = ABOUT_BINGKAI + 1;
	
	GameElementSprite[]			GAME_MAIN_MENU	=
	{
		new GameElementSprite("gfx/game/title.png", 				10, 	10, 	250, 164, Anchor.TOP_LEFT, Ratio.WIDTH, false),
		new GameElementSprite("gfx/game/play.png", 					0, 		0, 		180, 110, Anchor.CENTER, Ratio.WIDTH, true),
		new GameElementSprite("gfx/game/play_pressed.png", 			0, 		0, 		180, 110, Anchor.CENTER, Ratio.WIDTH, true),
		new GameElementSprite("gfx/game/offline.png", 				200, 	-120, 	180, 110, Anchor.CENTER, Ratio.WIDTH, true),
		new GameElementSprite("gfx/game/offline2.png", 				200, 	-120,	180, 110, Anchor.CENTER, Ratio.WIDTH, true),
		new GameElementSprite("gfx/game/online.png", 				200, 	120, 	180, 110, Anchor.CENTER, Ratio.WIDTH, true),
		new GameElementSprite("gfx/game/online2.png", 				200, 	120, 	180, 110, Anchor.CENTER, Ratio.WIDTH, true),
		new GameElementSprite("gfx/game/achievment.png", 			-20, 	25, 	145, 55, Anchor.TOP_RIGHT, Ratio.HEIGHT, true),
		new GameElementSprite("gfx/game/achievment_pressed.png", 	-20, 	25, 	145, 55, Anchor.TOP_RIGHT, Ratio.HEIGHT, true),
		new GameElementSprite("gfx/game/shop.png", 					-20, 	100, 	145, 55, Anchor.TOP_RIGHT, Ratio.HEIGHT, true),
		new GameElementSprite("gfx/game/shop_pressed.png", 			-20, 	100, 	145, 55, Anchor.TOP_RIGHT, Ratio.HEIGHT, true),
		new GameElementSprite("gfx/game/highscore.png", 			-20, 	175, 	145, 55, Anchor.TOP_RIGHT, Ratio.HEIGHT, true),
		new GameElementSprite("gfx/game/highscore_pressed.png", 	-20, 	175, 	145, 55, Anchor.TOP_RIGHT, Ratio.HEIGHT, true),
		new GameElementSprite("gfx/game/option.png", 				-20, 	250, 	145, 55, Anchor.TOP_RIGHT, Ratio.HEIGHT, true),
		new GameElementSprite("gfx/game/option_pressed.png", 		-20, 	250, 	145, 55, Anchor.TOP_RIGHT, Ratio.HEIGHT, true),
		new GameElementSprite("gfx/game/about.png", 				-20, 	325, 	96, 96, Anchor.TOP_RIGHT, Ratio.HEIGHT, true),
		new GameElementSprite("gfx/game/about_pressed.png", 		-20, 	325, 	96, 96, Anchor.TOP_RIGHT, Ratio.HEIGHT, true),
		new GameElementSprite("gfx/game/tanah.jpg", 				0, 		0, 		800, 480, Anchor.CENTER, Ratio.WIDTH, false),
		new GameElementSprite("gfx/game/back.png", 					0, 		0, 		180, 110, Anchor.CENTER, Ratio.WIDTH, true),
		new GameElementSprite("gfx/game/back_pressed.png", 			0, 		0, 		180, 110, Anchor.CENTER, Ratio.WIDTH, true),
	};
	
	int							MAIN_MENU_TITLE = 0;
	int							MAIN_MENU_PLAY	= MAIN_MENU_TITLE + 1;
	int							MAIN_MENU_PLAY_PRESSED	= MAIN_MENU_PLAY + 1;
	int							MAIN_MENU_PLAY_OFFLINE	= MAIN_MENU_PLAY_PRESSED + 1;
	int							MAIN_MENU_PLAY_OFFLINE_PRESSED	= MAIN_MENU_PLAY_OFFLINE + 1;
	int							MAIN_MENU_PLAY_ONLINE	= MAIN_MENU_PLAY_OFFLINE_PRESSED + 1;
	int							MAIN_MENU_PLAY_ONLINE_PRESSED	= MAIN_MENU_PLAY_ONLINE + 1;
	int							MAIN_MENU_ACV = MAIN_MENU_PLAY_ONLINE_PRESSED + 1;
	int							MAIN_MENU_ACV_PRESSED =  MAIN_MENU_ACV + 1;
	int							MAIN_MENU_SHOP = MAIN_MENU_ACV_PRESSED + 1;
	int							MAIN_MENU_SHOP_PRESSED = MAIN_MENU_SHOP + 1;
	int							MAIN_MENU_HIGH = MAIN_MENU_SHOP_PRESSED + 1;
	int							MAIN_MENU_HIGH_PRESSED = MAIN_MENU_HIGH + 1;
	int							MAIN_MENU_OPTION = MAIN_MENU_HIGH_PRESSED + 1;
	int							MAIN_MENU_OPTION_PRESSED = MAIN_MENU_OPTION + 1;
	int							MAIN_MENU_ABOUT = MAIN_MENU_OPTION_PRESSED + 1;
	int							MAIN_MENU_ABOUT_PRESSED = MAIN_MENU_ABOUT + 1;
	int							MAIN_MENU_TANAH = MAIN_MENU_ABOUT_PRESSED + 1;
	int							MAIN_MENU_BACK = MAIN_MENU_TANAH + 1;
	int							MAIN_MENU_BACK_PRESSED = MAIN_MENU_BACK + 1;
	
	int							MAIN_MENU_ANIMATION_STEP = 20;
	
	GameElementSprite[]			GAME_PLAY_SPR	=
	{
		new GameElementSprite("gfx/game/jump.png", 0, 0, 50, 50, Anchor.CENTER, Ratio.NONE),
		new GameElementSprite("gfx/game/Bg.png", 0, 0, 800, 480, Anchor.TOP_LEFT, Ratio.DEFAULT),
		new GameElementSprite("gfx/Gameplay/gameplay_score.png", 0, 0, 240, 50, Anchor.TOP_LEFT, Ratio.HEIGHT)
	};

	int							ANIM_MOVE						= 0;
	int							ANIM_JUMP						= ANIM_MOVE + 1;
	int							ANIM_DIE						= ANIM_JUMP + 1;
	
	final int[][][]				MC_FRAME						=
	{
		{
			{0, 1, 2, 3, 4, 5, 6}, // move
			{11, 12, 13}, // jump up
			{18}, // die
		 },
	};
	
	final int[][][]				MC_FRAME_2						=
	{
		{
			{0, 6}, // move
			{8, 13}, // jump up
			{18, 18}, // die
		 },
	};
	
	final long[][][]			MC_DUR							=
	{
		{	// tom
			{50, 50, 50, 50, 50, 50, 50},
			{50, 50, 50, 50, 50, 50},
			{50},
		},
		{	

		},
	};
	
	GameElementTiledSprite[]	GAME_PLAY_MC	=
	{
		new GameElementTiledSprite("gfx/Gameplay/char-sprite.png", 0, 0, 7, 3, Anchor.CENTER_LEFT, Ratio.NONE),
	};
	
	
	GameElementTiledSprite[]	GAME_MENU_MC	=
	{
		new GameElementTiledSprite("gfx/Gameplay/char-mainmenu.png", 160, 25, 110, 202, 6, 3, Anchor.CENTER_LEFT, Ratio.HEIGHT),
	};
	
	GameElementTmx[]			GAME_PLAY_TMX =
	{
		new GameElementTmx("test.tmx"),
	};
	
	int							GPS_OBJ_DUMP	= 0;
	int							GPS_OBJ_TL		= GPS_OBJ_DUMP + 1;
	int							GPS_OBJ_TC		= GPS_OBJ_TL + 1;
	int							GPS_OBJ_TR		= GPS_OBJ_TC + 1;
	int							GPS_OBJ_CL		= GPS_OBJ_TR + 1;
	int							GPS_OBJ_C		= GPS_OBJ_CL + 1;
	int							GPS_OBJ_CR		= GPS_OBJ_C + 1;
	
	String[]					GPS_OBJ_MAP		=
	{
		"gfx/game/tong sampah.jpg",
		"gfx/game/TL.jpg",
		"gfx/game/TC.jpg",
		"gfx/game/TR.jpg",
		"gfx/game/CL.jpg",
		"gfx/game/C.jpg",
		"gfx/game/CR.jpg",
	};

	int							GOS_BG			= 0;
	int							GOS_BTN_RESTART	= GOS_BG + 1;
	int							GOS_BTN_MENU	= GOS_BTN_RESTART + 1;
	
	GameElementSprite[]			GAME_OVER_SPR	=
	{
		new GameElementSprite("gfx/game/gmover_bingkai.png", 0,0, 685, 360, Anchor.CENTER, Ratio.WIDTH),
		new GameElementSprite("gfx/game/gmover_again.png", -70,80, 96, 96, Anchor.CENTER, Ratio.WIDTH, true),
		new GameElementSprite("gfx/game/gmover_mainmenu.png", 70,80, 96, 96, Anchor.CENTER, Ratio.WIDTH, true),
	};
	
	ElementSound[] GAME_MUSIC = 
		{
			new ElementSound("sound/bgm_mainmenu.ogg", true),
			new ElementSound("sound/bgm_ingame.ogg", true),
		};
	
	int		MUSIC_MAIN_MENU = 0;
	int		MUSIC_INGAME = 1;
	
	ElementSound[] GAME_SOUND = 
		{
			new ElementSound("sound/sfx_tombol.WAV", false),
			new ElementSound("sound/sfx_mati.wav", false),
			new ElementSound("sound/sfx_lompat.wav", false),
		};
	
	int		SOUND_OK = 0;
	int		SOUND_MATI = 1;
	int		SOUND_LOMPAT = 2;
}